package com.jiandian.service;

import com.jiandian.entity.GameInfo;
import com.jiandian.page.PageInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 游戏信息
 *
 * @author Houqi Fu
 * @date 2019/01/24
 */
public interface GameInfoService {

    GameInfo add(GameInfo record);

    GameInfo update(GameInfo record);

    GameInfo findById(Integer id);

    List<GameInfo> findAll(PageInfo pageInfo);

    int selectCount(PageInfo pageInfo);

    int batchInsert(List<GameInfo> list);

    List<GameInfo> batchQueryByIds(List<Integer> ids);

    int delete(Integer id);

    int delete(GameInfo record);

    int batchDeleteById(List<Integer> ids);

    PageInfo getPage(GameInfo whereEntity, PageInfo pageInfo);

    GameInfo initBasicValue();

    /**
     * 根据文件夹名称获取游戏信息
     * @param bucketName
     * @param dirName
     * @return
     */
    GameInfo fetchGameInfoByDirName(String bucketName,String dirName);

    /**
     * 更新所有
     * @param bucketName
     */
    @Transactional
    boolean syncAll(String bucketName);

    int deleteByMaxId(@Param("id") Integer id);

}
